;------- TASM ASM mnemonics. -------
; Compile this file using:
; Set TASMOPTS = -b
; tasm -80 ThisCode.tas MyBinary.BIN
;-----------------------------------
; Zx81 Program name: VB81 XuR [SPO256_[ZX81 BASIC TEXT CODES].txt] :
; REM   line   name: 1 REM:   815 Bytes@4082-43B0

#define ORG  .org       ; TASM cross-assembler definitions
#define equ  .equ
;-----------------------------------

;------------------------------------
;-Basic sub-routine entry.          -
;+----------------------------------+
; Lb4082  ;  <- USR Basic Enty.
;+----------------------------------+

;------- Rom and Ram Symbols -------
RAM_VARS equ $4010
RAM_LAST_K equ $4025


ORG $4082 ; [@16514/@h4082]
Lb4082: ; <- USR Basic Enty.
	LD A,$80 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	LD HL,(RAM_VARS) ; GET VARS
Lb4089:
	LD A,(RAM_LAST_K) ; GET LAST-K
	SUB $7F 
	RET Z 
	LD A,(HL) 
	CP $3B ;"V"
	INC HL 
	JP NZ, Lb4089 ; [16521]
	LD A,(HL) 
	CP $34 ;"O"
	INC HL 
	JP NZ, Lb4089 ; [16521]
	LD A,(HL) 
	CP $28 ;"C"
	JP NZ, Lb4089 ; [16521]
	INC HL 
Lb40A4:
	INC HL 
	LD A,(HL) 
	LD B,A 
	CP $26 ;"A"
	JP Z, Lb4122 ; [16674]
	CP $34 ;"O"
	JP Z, Lb4166 ; [16742]
	CP $18 ;"/"
	JP Z, Lb41A0 ; [16800]
	CP $2A ;"E"
	JP Z, Lb41B1 ; [16817]
	CP $2E ;"I"
	JP Z, Lb41E1 ; [16865]
	CP $3E ;"Y"
	JP Z, Lb420F ; [16911]
	CP $37 ;"R"
	JP Z, Lb4219 ; [16921]
	CP $31 ;"L"
	JP Z, Lb423D ; [16957]
	CP $3B ;"V"
	JP Z, Lb4257 ; [16983]
	CP $39 ;"T"
	JP Z, Lb4261 ; [16993]
	CP $3F ;"Z"
	JP Z, Lb429B ; [17051]
	CP $2F ;"J"
	JP Z, Lb42A5 ; [17061]
	CP $2B ;"F"
	JP Z, Lb42AF ; [17071]
	CP $38 ;"S"
	JP Z, Lb42B9 ; [17081]
	CP $28 ;"C"
	JP Z, Lb42C3 ; [17091]
	CP $30 ;"K"
	JP Z, Lb42DD ; [17117]
	CP $2D ;"H"
	JP Z, Lb42E7 ; [17127]
	CP $27 ;"B"
	JP Z, Lb42F1 ; [17137]
	CP $29 ;"D"
	JP Z, Lb430B ; [17163]
	CP $2C ;"G"
	JP Z, Lb432F ; [17199]
	CP $35 ;"P"
	JP Z, Lb4349 ; [17225]
	CP $32 ;"M"
	JP Z, Lb4353 ; [17235]
	CP $33 ;"N"
	JP Z, Lb435D ; [17245]
	CP $0D ;"$"
	JP Z, Lb4377 ; [17271]
	JP Lb43AC ; [17324]
Lb4122:
	CALL Lb412B ; [16683]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb412B:
	INC HL 
	LD A,(HL) 
	CP $1A ;","
	JP Z, Lb415C ; [16732]
	INC HL 
	CP $15 ;"+"
	JP Z, Lb4147 ; [16711]
	CP $2E ;"I"
	JP Z, Lb414C ; [16716]
	CP $3A ;"U"
	JP Z, Lb4161 ; [16737]
	LD A,$17 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4147:
	LD A,$3B 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb414C:
	LD A,(HL) 
	CP $31 ;"L"
	JP Z, Lb4157 ; [16727]
	LD A,$07 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4157:
	LD A,$06 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb415C:
	LD A,$1A 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4161:
	LD A,$35 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4166:
	CALL Lb416F ; [16751]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb416F:
	INC HL 
	LD A,(HL) 
	CP $1A ;","
	JP Z, Lb4186 ; [16774]
	INC HL 
	CP $3A ;"U"
	JP Z, Lb418B ; [16779]
	CP $37 ;"R"
	JP Z, Lb419B ; [16795]
	LD A,$05 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4186:
	LD A,$18 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb418B:
	LD A,(HL) 
	CP $15 ;"+"
	JP Z, Lb4196 ; [16790]
	LD A,$20 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4196:
	LD A,$1E 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb419B:
	LD A,$3A 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb41A0:
	CALL Lb41A9 ; [16809]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb41A9:
	INC HL 
	LD A,(HL) 
	SUB $1C 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	INC HL 
	RET ; ==========================

Lb41B1:
	CALL Lb41BA ; [16826]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb41BA:
	INC HL 
	LD A,(HL) 
	CP $1A ;","
	JP Z, Lb41CB ; [16843]
	CP $3A ;"U"
	JP Z, Lb41D0 ; [16848]
	LD A,$14 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb41CB:
	LD A,$0F 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb41D0:
	INC HL 
	LD A,(HL) 
	CP $15 ;"+"
	JP Z, Lb41DC ; [16860]
	LD A,$33 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb41DC:
	LD A,$34 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb41E1:
	CALL Lb41EA ; [16874]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb41EA:
	INC HL 
	LD A,(HL) 
	CP $1A ;","
	JP Z, Lb420A ; [16906]
	CP $15 ;"+"
	JP Z, Lb4200 ; [16896]
	CP $34 ;"O"
	JP Z, Lb4205 ; [16901]
	LD A,$19 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4200:
	LD A,$13 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4205:
	LD A,$16 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb420A:
	LD A,$0C 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb420F:
	LD A,$31 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb4219:
	CALL Lb4222 ; [16930]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb4222:
	INC HL 
	LD A,(HL) 
	CP $1D ;"1"
	JP Z, Lb4233 ; [16947]
	CP $1E ;"2"
	JP Z, Lb422E ; [16942]
Lb422E:
	LD A,$27 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4233:
	LD A,$0E 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4238:    ; <<< Uncharted Entry ]

	LD A,$3C 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb423D:
	CALL Lb4246 ; [16966]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb4246:
	INC HL 
	LD A,(HL) 
	CP $15 ;"+"
	JP Z, Lb4252 ; [16978]
	LD A,$2D 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4252:
	LD A,$3E 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4257:
	LD A,$23 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb4261:
	CALL Lb426A ; [17002]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb426A:
	INC HL 
	LD A,(HL) 
	CP $15 ;"+"
	JP Z, Lb4280 ; [17024]
	CP $2D ;"H"
	JP Z, Lb4285 ; [17029]
	CP $28 ;"C"
	JP Z, Lb4296 ; [17046]
	LD A,$11 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4280:
	LD A,$0D 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4285:
	INC HL 
	LD A,(HL) 
	CP $15 ;"+"
	JP Z, Lb4291 ; [17041]
	LD A,$1D 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4291:
	LD A,$12 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4296:
	LD A,$32 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb429B:
	LD A,$2B 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb42A5:
	LD A,$26 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb42AF:
	LD A,$28 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb42B9:
	LD A,$37 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb42C3:
	CALL Lb42CC ; [17100]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb42CC:
	INC HL 
	LD A,(HL) 
	CP $1A ;","
	JP Z, Lb42D8 ; [17112]
	LD A,$25 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb42D8:
	LD A,$2A 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb42DD:
	LD A,$29 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb42E7:
	LD A,$39 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb42F1:
	CALL Lb42FA ; [17146]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb42FA:
	INC HL 
	LD A,(HL) 
	CP $15 ;"+"
	JP Z, Lb4306 ; [17158]
	LD A,$3F 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4306:
	LD A,$1C 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb430B:
	CALL Lb4314 ; [17172]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb4314:
	INC HL 
	LD A,(HL) 
	CP $15 ;"+"
	JP Z, Lb4325 ; [17189]
	CP $2F ;"J"
	JP Z, Lb432A ; [17194]
	LD A,$15 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4325:
	LD A,$21 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb432A:
	LD A,$0A 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb432F:
	CALL Lb4338 ; [17208]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb4338:
	INC HL 
	LD A,(HL) 
	CP $15 ;"+"
	JP Z, Lb4344 ; [17220]
	LD A,$3D 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4344:
	LD A,$24 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4349:
	LD A,$09 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb4353:
	LD A,$10 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb435D:
	CALL Lb4366 ; [17254]
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb4366:
	INC HL 
	LD A,(HL) 
	CP $15 ;"+"
	JP Z, Lb4372 ; [17266]
	LD A,$0B 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4372:
	LD A,$38 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================

Lb4377:
	INC HL 
	LD A,(HL) 
	SUB $1C 
	LD B,A 
	ADD A,A 
	ADD A,A 
	ADD A,A 
	ADD A,B 
	ADD A,B 
	LD B,A 
	INC HL 
	LD A,(HL) 
	SUB $1C 
	ADD A,B 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	CALL Lb43A4 ; [17316]
	JP Lb438F ; [17295]
Lb438F:
	LD A,(HL) 
	CP $1A ;","
	JP Z, Lb40A4 ; [16548]
	CP $19 ;";"
	JP Z, Lb43AC ; [17324]
	LD A,(RAM_LAST_K) ; GET LAST-K
	CP $7F 
	RET Z 
	INC HL 
	JP Lb438F ; [17295]
Lb43A4:
	IN A,($3F) ; User port.
	CP $FE 
	JP Z, Lb43A4 ; [17316]
	RET ; ==========================

Lb43AC:
	LD A,$00 
	OUT ($3F),A ; 8 E-S CARD/Fuller/SPO256 Sound card (Registers)
	RET ; ==========================




.end
